param ( [string] $ConfigFile=$DefaultDatabaseConfigFile
      , [string] $EnvironmentName=$DefaultDatabaseEnv
			, [string] $ServerName=$DefaultServerName
			, [string] $DatabaseName=$DefaultDatabaseName
			, [string] $Username=$DefaultUsername
			, [string] $Password=$DefaultPassword
			, [array] $Files
			, [string] $Filter
			, [array] $PatchGroups = $DefaultDatabasePatches
      , [switch] $Checkpoint
      , [switch] $Verbose
      , [switch] $Whatif
			, [switch] $Force
			)

. Resolve-DbDeploymentParms

if ($LogFileName -eq $null)
{
  $thisLog = "{1}-{0:MM.dd.yy.HH.mm.ss}.log" -f  [datetime]::Now, "DatabaseDeployment"
  $thisLog = Log-InititialzieFile $thisLog
}

if ($Verbose)
{
  $LogScreenLevel = 'Verbose'
}

if ($PatchGroups -eq $null)
{
	$PatchGroups = "All"
}

# $ProviderParms is set by Resolve-DbDeploymentParms
try {
  Execute-Patches -SchemaDir $SchemaDir -ConfigFile $ConfigFile -Provider $Provider -ProviderParms $ProviderParms -Files $Files -Filter $Filter -Checkpoint:$Checkpoint -Force:$Force
} -finally {

}
